Data converters are used in many applications such as telephone switching equipment, voice band data communications, speech coding systems, and audio and video signal processing equipment. The converters typically have a decimator or an interpolator which changes data from analog to digital form or vice versa. Each decimator or interpolator in a data converter, or each stage of decimation or interpolation, requires two clock frequencies for operation. The ratio of the higher frequency to the lower frequency is known as the decimation factor in a decimator and as the interpolation factor in an interpolator. Data converters have typically had fixed decimation and interpolation factors. A fixed decimation factor or a fixed interpolation factor determines the gain of the decimator or interpolation. The bit width of the data path downstream of the decimator or interpolator could be predetermined to avoid overflow knowing the decimation factor or interpolation factor, and hence the gain of the decimator or interpolator. When programmability is introduced into the decimation and interpolation factors, to avoid overflow the minimum bit width of the data path downstream of a decimator or interpolator becomes a variable that is dependent upon the decimation or interpolation factor. Alternatively, a data path having an excessively wide bit width can be used, however, this approach would be inefficient and is therefore undesirable.
What is needed is a technique for selecting the appropriate bit field from a wider bit field produced by an interpolator or decimator having a variable, programmable decimation or interpolation factor.